package comandos;

import java.util.Collection;
import java.util.Map;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

import excecoes.DAOException;

import allaboutmybook.ComentarioDeForum;
import allaboutmybook.GerenteAtividadesDoForum;
import allaboutmybook.GerenteConcretoAtividadesForum;
import allaboutmybook.TopicoDeForum;

public class VisualizarTopicoDeForumBean 
{
	private String tituloTopicodeForum;
	private String descricaoTopicoDeForum;
	private Collection<ComentarioDeForum> comentariosDoTopicoDeForum;
	
	
	
	public void setTituloTopicodeForum(String tituloTopicodeForum) {
		this.tituloTopicodeForum = tituloTopicodeForum;
	}

	public String getTituloTopicodeForum() {
		return tituloTopicodeForum;
	}

	public String getDescricaoTopicoDeForum() {
		return descricaoTopicoDeForum;
	}
	
	public Collection<ComentarioDeForum> getComentariosDoTopicoDeForum() {
		return comentariosDoTopicoDeForum;
	}

	@SuppressWarnings("unchecked")
	public String visualizarTopicoDeForum()
	{
		try
		{
			Map<String, String> parametrosDoMetodo = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
			String tituloTopicoDoForum = parametrosDoMetodo.get("tituloTopico");
			GerenteAtividadesDoForum gerenteDeAtividadesDoForum = GerenteConcretoAtividadesForum.getInstance();
			TopicoDeForum topicoDeForumParaVisualizar = gerenteDeAtividadesDoForum.pegarTopicoDeForumParaVisualizacao(tituloTopicoDoForum);
			if(topicoDeForumParaVisualizar != null)
			{
				this.tituloTopicodeForum = topicoDeForumParaVisualizar.getTituloTopicodeForum();
				this.descricaoTopicoDeForum = topicoDeForumParaVisualizar.getDescricaoTopicoDeForum();
				this.comentariosDoTopicoDeForum = topicoDeForumParaVisualizar.getComentariosDoTopicoDeForum();
				return "realizouVisualizarTopicoDeForum";
			}
			else
			{
				System.out.println("falhouVisualizarTopicoDeForum");
				return "falhouVisualizarTopicoDeForum";
			}
		}
		catch(DAOException exc)
		{
			FacesMessage mensagemDeErro = new FacesMessage("problemas em acesso ao banco de dados. Tente novamente mais tarde");
			FacesContext.getCurrentInstance().addMessage("problemas em acesso ao banco de dados. Tente novamente mais tarde", mensagemDeErro);
			return "falhouListarPersonagensLivro";
		}
		
		
	}

}
